ECS のコンテナログがどのようなログストリーム名で記録されるか教えてください

ECS のコンテナログがどのようなログストリーム名で記録されるか教えてください

Clock Icon2024.10.21

困っていた内容

Fargate で ECS タスクを実行する予定です。
タスク定義で awslogs ログドライバーを設定したので、ログは CloudWatch Logs に送信される認識です。
CloudWatch Logs にはログストリームがありますが、どのような名前で記録されますか?教えてください。

Amazon ECS ログを CloudWatch に送信する - Amazon Elastic Container Service

どうなるの?

ログストリーム名は次のルールで設定されます。

<プレフィックス値>/<コンテナ名>/<タスク ID>

# 例
hato-prefix/hato-container/36374d1d33ad4ec0b5a9980f30402ead

ECS タスク定義で awslogs ログドライバーを設定すると、コンテナが STDOUT 等に出力したログを、CloudWatch Logs に送信します。
送信先となるロググループ名は、各コンテナのlogConfiguration設定に応じて設定されますが、ログストリーム名は上記のルールとなります。

なお、EC2 起動タイプの場合はawslogs-stream-prefixが任意であり、指定しない場合はコンテナ ID がログストリーム名となります。

また、ログストリーム名を完全に制御したい場合は awslogs ログドライバーの代わりに FireLens のご利用もご検討ください。

参考資料

The log stream name used by Amazon ECS has the <awslogs-stream-prefix>/<container_name>/<task_id> format.

To configure which log stream should be used, you can specify the awslogs-stream log option. If not specified, the container ID is used as the log stream.

(必須) awslogs-stream-prefix キーの場合は、自動入力された値をそのままにします。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.